package jvm.stack;

/**
 * @author 马迪迪
 * @description: TODO
 * @data 2025年01月14日23时28分
 */
public class 局部变量影响现场安全问题1 {

    //    共享的方法变量池中，需要考虑线程安全问题
    static int x = 0;

    /**
     * 多线程同时执行该方法，会出现什么问题？
     */
    static void m1() {
//        线程池中的不需要考虑
//        int x=0;
        for (int i = 0; i < 5000; i++) {
            x++;
        }
        System.out.println(x);
    }

    public static void main(String[] args) {
        Thread thread_one = new Thread(new Thread_One_To_One());
        Thread thread_two = new Thread(new Thread_One_To_Two());
        thread_one.run();
        thread_two.run();
    }
}


/**
 * 线程1
 */
class Thread_One_To_One implements Runnable {

    @Override
    public void run() {
        局部变量影响现场安全问题1.m1();
    }
}


/**
 * 线程2
 */
class Thread_One_To_Two implements Runnable {

    @Override
    public void run() {
        局部变量影响现场安全问题1.m1();
    }
}